package com.zmn.oms.business.interfaces.baidumap;

import com.zmn.common.utils.map.Point;
import com.zmn.oms.model.dto.baidumap.LngLatLocation;

import java.util.List;

/**
 * 类描述：
 *
 * @author lhl
 * @date 2020/12/24 18:53
 */
public interface BaiduMapBService {

    /**
     * 通过地址的文字描述解析对应的经纬度
     *
     * @param address
     * @return
     */
    LngLatLocation location(String address);

    /**
     * 通过区域和地址查找可能得地址和经纬度
     *
     * @param region
     * @param address
     * @return
     */
    LngLatLocation suggestion(String region, String address);

    /**
     * 获取导航距离（开车），单位米
     *
     * @param originPoint
     * @param descPoint
     * @return
     */
    Integer getNavigationDistance(Point originPoint, Point descPoint);

    /**
     * 多点获取骑行距离，单位米
     *
     * @param originPoint
     * @param descPointList
     * @return
     */
    List<Integer> getMultiRidingDistance(Point originPoint, List<Point> descPointList);

    /**
     * 根据两点间经纬度坐标（double值），计算两点间拐角距离，单位为米
     *
     * @param lng1
     * @param lat1
     * @param lng2
     * @param lat2
     * @return
     */
    Double getCornerDistance(double lng1, double lat1, double lng2, double lat2);
}
